package design;

import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
/**
 * 设计模式-单例模式
 * 饿汉模式：类加载的时候，就进行创建对象，系统开销比较大，但不存在线程安全问题
 * 懒汉模式：在使用的时候才真正创建单例对象，但是存在线程安全问题
 * 静态内部类单例：兼具懒汉模式和饿汉模式的有点
 */

/**
 * 静态内部类
 */
public class ThreadSingleTest3 {

    public static void main(String[] args) {
        ExecutorService es = Executors.newFixedThreadPool(10);
        for (int i = 0; i < 10; i++) {
            es.execute(new Runnable() {
                @Override
                public void run() {
                    System.out.println(Singleton4.getInstance());
                }
            });
        }
        es.shutdown();
    }
}
